<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MTB CAT1 Peripheral driver library: General</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><a href="http://www.cypress.com/"><img alt="Logo" src="IFXCYP_one-line.png"/></a></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">MTB CAT1 Peripheral driver library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__group__scb__ezi2c__general__functions.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">General<div class="ingroups"><a class="el" href="group__group__scb.html">SCB          (Serial Communication Block)</a> &raquo; <a class="el" href="group__group__scb__ezi2c.html">EZI2C (SCB)</a> &raquo; <a class="el" href="group__group__scb__ezi2c__functions.html">Functions</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">General Description</h2>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gaafe61aa4c2931975a8698afa46717b97"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__scb__ezi2c__enums.html#gae75ed91d83e89dd9a13c9a832a138ffb">cy_en_scb_ezi2c_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__scb__ezi2c__general__functions.html#gaafe61aa4c2931975a8698afa46717b97">Cy_SCB_EZI2C_Init</a> (<a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *base, <a class="el" href="structcy__stc__scb__ezi2c__config__t.html">cy_stc_scb_ezi2c_config_t</a> const *config, <a class="el" href="structcy__stc__scb__ezi2c__context__t.html">cy_stc_scb_ezi2c_context_t</a> *context)</td></tr>
<tr class="memdesc:gaafe61aa4c2931975a8698afa46717b97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the SCB for the EZI2C operation.  <a href="#gaafe61aa4c2931975a8698afa46717b97">More...</a><br /></td></tr>
<tr class="separator:gaafe61aa4c2931975a8698afa46717b97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac6b21a0094575d46e64d6fd0c0c4c073"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__scb__ezi2c__general__functions.html#gac6b21a0094575d46e64d6fd0c0c4c073">Cy_SCB_EZI2C_DeInit</a> (<a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *base)</td></tr>
<tr class="memdesc:gac6b21a0094575d46e64d6fd0c0c4c073"><td class="mdescLeft">&#160;</td><td class="mdescRight">De-initializes the SCB block, returns the register values to default.  <a href="#gac6b21a0094575d46e64d6fd0c0c4c073">More...</a><br /></td></tr>
<tr class="separator:gac6b21a0094575d46e64d6fd0c0c4c073"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae5c13ff7a89e0a75fbe83bd5dfc4fc95"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__scb__ezi2c__general__functions.html#gae5c13ff7a89e0a75fbe83bd5dfc4fc95">Cy_SCB_EZI2C_Enable</a> (<a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *base)</td></tr>
<tr class="memdesc:gae5c13ff7a89e0a75fbe83bd5dfc4fc95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the SCB block for the EZI2C operation.  <a href="#gae5c13ff7a89e0a75fbe83bd5dfc4fc95">More...</a><br /></td></tr>
<tr class="separator:gae5c13ff7a89e0a75fbe83bd5dfc4fc95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac76d9847576cbbcc7f92206f1e8b35f6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__scb__ezi2c__general__functions.html#gac76d9847576cbbcc7f92206f1e8b35f6">Cy_SCB_EZI2C_Disable</a> (<a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *base, <a class="el" href="structcy__stc__scb__ezi2c__context__t.html">cy_stc_scb_ezi2c_context_t</a> *context)</td></tr>
<tr class="memdesc:gac76d9847576cbbcc7f92206f1e8b35f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables the SCB block and clears the context statuses.  <a href="#gac76d9847576cbbcc7f92206f1e8b35f6">More...</a><br /></td></tr>
<tr class="separator:gac76d9847576cbbcc7f92206f1e8b35f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab321bf749393f592131b61257af1d262"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__scb__ezi2c__general__functions.html#gab321bf749393f592131b61257af1d262">Cy_SCB_EZI2C_SetAddress1</a> (<a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *base, uint8_t addr, <a class="el" href="structcy__stc__scb__ezi2c__context__t.html">cy_stc_scb_ezi2c_context_t</a> *context)</td></tr>
<tr class="memdesc:gab321bf749393f592131b61257af1d262"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the primary EZI2C slave address.  <a href="#gab321bf749393f592131b61257af1d262">More...</a><br /></td></tr>
<tr class="separator:gab321bf749393f592131b61257af1d262"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1f1d07bd655fb78309119d2bbca4e25c"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__scb__ezi2c__general__functions.html#ga1f1d07bd655fb78309119d2bbca4e25c">Cy_SCB_EZI2C_GetAddress1</a> (<a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> const *base, <a class="el" href="structcy__stc__scb__ezi2c__context__t.html">cy_stc_scb_ezi2c_context_t</a> const *context)</td></tr>
<tr class="memdesc:ga1f1d07bd655fb78309119d2bbca4e25c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the primary the EZI2C slave address.  <a href="#ga1f1d07bd655fb78309119d2bbca4e25c">More...</a><br /></td></tr>
<tr class="separator:ga1f1d07bd655fb78309119d2bbca4e25c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2e81f148dad6ecd6d476546571995375"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__scb__ezi2c__general__functions.html#ga2e81f148dad6ecd6d476546571995375">Cy_SCB_EZI2C_SetAddress2</a> (<a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *base, uint8_t addr, <a class="el" href="structcy__stc__scb__ezi2c__context__t.html">cy_stc_scb_ezi2c_context_t</a> *context)</td></tr>
<tr class="memdesc:ga2e81f148dad6ecd6d476546571995375"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the secondary EZI2C slave address.  <a href="#ga2e81f148dad6ecd6d476546571995375">More...</a><br /></td></tr>
<tr class="separator:ga2e81f148dad6ecd6d476546571995375"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9861dc3fe528d19c186df09525e26344"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__scb__ezi2c__general__functions.html#ga9861dc3fe528d19c186df09525e26344">Cy_SCB_EZI2C_GetAddress2</a> (<a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> const *base, <a class="el" href="structcy__stc__scb__ezi2c__context__t.html">cy_stc_scb_ezi2c_context_t</a> const *context)</td></tr>
<tr class="memdesc:ga9861dc3fe528d19c186df09525e26344"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the secondary EZI2C slave address.  <a href="#ga9861dc3fe528d19c186df09525e26344">More...</a><br /></td></tr>
<tr class="separator:ga9861dc3fe528d19c186df09525e26344"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3f5a46deab427f46285992e1cbf8d361"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__scb__ezi2c__general__functions.html#ga3f5a46deab427f46285992e1cbf8d361">Cy_SCB_SetEzI2CMode</a> (<a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *base, bool ezMode)</td></tr>
<tr class="memdesc:ga3f5a46deab427f46285992e1cbf8d361"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets EZ mode for I2C protocol.  <a href="#ga3f5a46deab427f46285992e1cbf8d361">More...</a><br /></td></tr>
<tr class="separator:ga3f5a46deab427f46285992e1cbf8d361"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="gaafe61aa4c2931975a8698afa46717b97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaafe61aa4c2931975a8698afa46717b97">&#9670;&nbsp;</a></span>Cy_SCB_EZI2C_Init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__scb__ezi2c__enums.html#gae75ed91d83e89dd9a13c9a832a138ffb">cy_en_scb_ezi2c_status_t</a> Cy_SCB_EZI2C_Init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__scb__ezi2c__config__t.html">cy_stc_scb_ezi2c_config_t</a> const *&#160;</td>
          <td class="paramname"><em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__scb__ezi2c__context__t.html">cy_stc_scb_ezi2c_context_t</a> *&#160;</td>
          <td class="paramname"><em>context</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes the SCB for the EZI2C operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the EZI2C SCB instance.</td></tr>
    <tr><td class="paramname">config</td><td>The pointer to the configuration structure <a class="el" href="structcy__stc__scb__ezi2c__config__t.html">cy_stc_scb_ezi2c_config_t</a>.</td></tr>
    <tr><td class="paramname">context</td><td>The pointer to the context structure <a class="el" href="structcy__stc__scb__ezi2c__context__t.html">cy_stc_scb_ezi2c_context_t</a> allocated by the user. The structure is used during the EZI2C operation for internal configuration and data retention. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__scb__ezi2c__enums.html#gae75ed91d83e89dd9a13c9a832a138ffb">cy_en_scb_ezi2c_status_t</a></dd></dl>
<dl class="section note"><dt>Note</dt><dd>Ensure that the SCB block is disabled before calling this function. </dd></dl>

</div>
</div>
<a id="gac6b21a0094575d46e64d6fd0c0c4c073"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac6b21a0094575d46e64d6fd0c0c4c073">&#9670;&nbsp;</a></span>Cy_SCB_EZI2C_DeInit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cy_SCB_EZI2C_DeInit </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>De-initializes the SCB block, returns the register values to default. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the EZI2C SCB instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Ensure that the SCB block is disabled before calling this function. </dd></dl>

</div>
</div>
<a id="gae5c13ff7a89e0a75fbe83bd5dfc4fc95"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae5c13ff7a89e0a75fbe83bd5dfc4fc95">&#9670;&nbsp;</a></span>Cy_SCB_EZI2C_Enable()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_SCB_EZI2C_Enable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enables the SCB block for the EZI2C operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the EZI2C SCB instance. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gac76d9847576cbbcc7f92206f1e8b35f6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac76d9847576cbbcc7f92206f1e8b35f6">&#9670;&nbsp;</a></span>Cy_SCB_EZI2C_Disable()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cy_SCB_EZI2C_Disable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__scb__ezi2c__context__t.html">cy_stc_scb_ezi2c_context_t</a> *&#160;</td>
          <td class="paramname"><em>context</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Disables the SCB block and clears the context statuses. </p>
<p>Note that after the block is disabled, the TX and RX FIFOs and hardware statuses are cleared. Also, the hardware stops driving the output and ignores the input.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the EZI2C SCB instance.</td></tr>
    <tr><td class="paramname">context</td><td>The pointer to the context structure <a class="el" href="structcy__stc__scb__ezi2c__context__t.html">cy_stc_scb_ezi2c_context_t</a> allocated by the user. The structure is used during the EZI2C operation for internal configuration and data retention. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Calling this function while EZI2C is busy (the slave has been addressed and is communicating with the master), may cause transaction corruption because the hardware stops driving the output and ignores the input. Ensure that the EZI2C slave is not busy before calling this function. </dd></dl>

</div>
</div>
<a id="gab321bf749393f592131b61257af1d262"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab321bf749393f592131b61257af1d262">&#9670;&nbsp;</a></span>Cy_SCB_EZI2C_SetAddress1()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cy_SCB_EZI2C_SetAddress1 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__scb__ezi2c__context__t.html">cy_stc_scb_ezi2c_context_t</a> *&#160;</td>
          <td class="paramname"><em>context</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the primary EZI2C slave address. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the EZI2C SCB instance.</td></tr>
    <tr><td class="paramname">addr</td><td>The 7-bit right justified slave address.</td></tr>
    <tr><td class="paramname">context</td><td>The pointer to the context structure <a class="el" href="structcy__stc__scb__ezi2c__context__t.html">cy_stc_scb_ezi2c_context_t</a> allocated by the user. The structure is used during the EZI2C operation for internal configuration and data retention. The user must not modify anything in this structure. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga1f1d07bd655fb78309119d2bbca4e25c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1f1d07bd655fb78309119d2bbca4e25c">&#9670;&nbsp;</a></span>Cy_SCB_EZI2C_GetAddress1()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t Cy_SCB_EZI2C_GetAddress1 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> const *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__scb__ezi2c__context__t.html">cy_stc_scb_ezi2c_context_t</a> const *&#160;</td>
          <td class="paramname"><em>context</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the primary the EZI2C slave address. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the EZI2C SCB instance.</td></tr>
  </table>
  </dd>
</dl>
<ul>
<li><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>The pointer to the context structure <a class="el" href="structcy__stc__scb__ezi2c__context__t.html">cy_stc_scb_ezi2c_context_t</a> allocated by the user. The structure is used during the EZI2C operation for internal configuration and data retention. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The 7-bit right justified slave address. </dd></dl>
</li>
</ul>

</div>
</div>
<a id="ga2e81f148dad6ecd6d476546571995375"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2e81f148dad6ecd6d476546571995375">&#9670;&nbsp;</a></span>Cy_SCB_EZI2C_SetAddress2()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cy_SCB_EZI2C_SetAddress2 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__scb__ezi2c__context__t.html">cy_stc_scb_ezi2c_context_t</a> *&#160;</td>
          <td class="paramname"><em>context</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the secondary EZI2C slave address. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the EZI2C SCB instance.</td></tr>
    <tr><td class="paramname">addr</td><td>The 7-bit right justified slave address.</td></tr>
    <tr><td class="paramname">context</td><td>The pointer to the context structure <a class="el" href="structcy__stc__scb__ezi2c__context__t.html">cy_stc_scb_ezi2c_context_t</a> allocated by the user. The structure is used during the EZI2C operation for internal configuration and data retention. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Calling this function when the EZI2C slave is configured for one-address operation leads to unexpected behavior because it updates the address mask.</dd>
<dd>
Please observe following limitation while using both primary and secondary slave addresses. EZI2C IP has single address match mask. This mask is setup as (address1 ^ address2), This can generate false address match. For example, if address1 is 0x24 and address2 is 0x10, then slave address 0x20 will also generate a false match. Hence, choose address1 and 2 such that all other slave address on the bus satisfy ((slave address) &amp; (address1 ^ address2)) != 0 </dd></dl>

</div>
</div>
<a id="ga9861dc3fe528d19c186df09525e26344"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9861dc3fe528d19c186df09525e26344">&#9670;&nbsp;</a></span>Cy_SCB_EZI2C_GetAddress2()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t Cy_SCB_EZI2C_GetAddress2 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> const *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__scb__ezi2c__context__t.html">cy_stc_scb_ezi2c_context_t</a> const *&#160;</td>
          <td class="paramname"><em>context</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the secondary EZI2C slave address. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the EZI2C SCB instance.</td></tr>
    <tr><td class="paramname">context</td><td>The pointer to the context structure <a class="el" href="structcy__stc__scb__ezi2c__context__t.html">cy_stc_scb_ezi2c_context_t</a> allocated by the user. The structure is used during the EZI2C operation for internal configuration and data retention. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The 7-bit right justified slave address. </dd></dl>

</div>
</div>
<a id="ga3f5a46deab427f46285992e1cbf8d361"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3f5a46deab427f46285992e1cbf8d361">&#9670;&nbsp;</a></span>Cy_SCB_SetEzI2CMode()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_SCB_SetEzI2CMode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>ezMode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets EZ mode for I2C protocol. </p>
<p>EZ mode is only used for synchronous serial interface protocols. This mode is only applicable to slave functionality. In EZ mode, the slave can read from and write to an addressable memory.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the EZI2C SCB instance.</td></tr>
    <tr><td class="paramname">ezMode</td><td>If true, HW EZ mode is enabled. If false, HW EZ mode is disabled. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part
<div id="nav-path" class="navpath">
    <ul>
        <li class="footer">
            Generated for <b>MTB CAT1 Peripheral driver library</b> by <b>Cypress Semiconductor Corporation</b>.
            All rights reserved.
        </li>
    </ul>
</div>
-->
</body>
</html>
